function getLength(a1: number | string, a2: number | string) {
    if(typeof a1 === 'number' && typeof a2 === 'number') {
        return a1 + a2
    } else if(typeof a1 === 'string' && typeof a2 === 'string') {
        return a1 + a2
    }
}

getLength(10, 20)

/**
 * 通过联合类型实现重载（有两个缺点
 * 1. 需要进行很多逻辑判断 （类型缩小
 * 2. 返回值类型依然不能确定
 */